#pragma once
#include "scene.h"

class SceneMgr
{
	SceneMgr();
public:
	~SceneMgr();

	static SceneMgr* GetInstance();
	void ReplaceScene(std::shared_ptr<Scene> scene);
	void PushScene(std::shared_ptr<Scene> scene);
	void PopScene();
	void PopToRootScene();
	std::shared_ptr<Scene> GetRunningScene();
	void End();

private:
	std::shared_ptr<Scene> m_runningScene;
	std::vector<std::shared_ptr<Scene>> m_scenesStack;
};

